import { userCheckAccount } from '@/api/user'

// 表单校验
export default {
  account (value) {
    if (!value) return '请输入用户名'
    if (!/^[a-zA-Z]\w{5,19}$/.test(value)) return '字母开头且6-20个字符'
    return true
  },
  // 用户名校验且唯一性
  async accountApi (value) {
    if (!value) return '请输入用户名'
    if (!/^[a-zA-Z]\w{5,19}$/.test(value)) return '字母开头且6-20个字符'
    // 服务器校验
    const { result } = await userCheckAccount(value)
    if (result.valid) return '用户名已存在'
    return true
  },
  password (value) {
    if (!value) return '请输入密码'
    if (!/^\w{6,24}$/.test(value)) return '密码是6-24个字符'
    return true
  },
  rePassword (value, { form }) {
    if (!value) return '请确认密码'
    if (!/^\w{6,24}$/.test(value)) return '密码是6-24个字符'
    if (form.password !== value) return '两次密码输入不一致'
    return true
  },
  mobile (value) {
    if (!value) return '请输入手机号'
    if (!/^1[3-9]\d{9}$/.test(value)) return '手机号格式不正确'
    return true
  },

  code (value) {
    if (!value) return '请输入验证码'
    if (!/^\d{6}$/.test(value)) return '验证码格式不正确'
    return true
  },
  isAgree (value) {
    if (!value) return '请勾选登录协议'
    return true
  }

}
